Below is the original README file from the RTrace distribution. Note that some of the information is not directly applicable to the Macintosh version, since I have made significant changes to the way RTrace interfaces with the user. In particular, I used the Mac Toolbox, rather than SUIT, and MacRTrace saves generated images as PICTs, and animations as Quicktime movies. Incidentally, in this day of Shareware Madness, it is rare to see such a well-designed program as Antonio's RTrace available from free. Let’s give Antonio a big round of applause for writing this fabulous ray tracer, and for donating it to the world. ############################################## `rtrace' RAYTRACER written by Antonio Costa a_costa@inescn.pt a_costa@inescn.rccn.pt acc@asterix.inescn.pt ############################################## This represents the 8th formal release of the `rtrace' Raytracer. It was written to help me understand how raytracing works, to generate cute images, and generally because I like to program. Feel free to use it for any purpose, I am releasing it into the public domain. NEW: this version can be built with a user-interface from a toolkit called SUIT from uvacs@cs.virgina.edu. The SUIT user-interface toolkit exists for UNIX, DOS, MAC, Windows and a DOS extender called GO32, so theoretically this program could run unchanged in all those OS... The input format to this ray tracer is called "SFF" or Simple File Format, after using "NFF" or Neutral File Format, which was invented by Eric Haines' for his Standard Procedural Database. The SPD was designed to allow programmers to test their raytracers on databases of varying sizes. While not the end-all to object file formats, it has served me well. If anyone uses or wants to use NFF, I can send a NFF to SFF converter. SFF supports the following concepts and primitives: point lights directional lights spot lights with fall-off extended lights 2 ways of defining surfaces spheres axis-aligned parallelipipeds cylinders cones bicubic patches polygons polygonal patches (normals are interpolated from corner points) 3D text with high quality CSG operations 4x4 matrix transformations textures depth of field diffuse distribution stereoscopic pair creation The `rtrace' raytracer supports all of these primitives, with the minor limitation that polygonal patches must be triangles (have only three vertices). Procedural textures (with 4x4 matrix transformations) are also supported: checkerboard color blotches marble bump map fbm fbm bump map wood gloss image mapping waves (and many others...) The output from the raytracer is very simple, and not directly tied to any specific device. It consists of a single line, with format in C style of "%c%c%c%c", which gives the resolution of the image (Width LSByte, Width MSByte, Height LSByte, Height MSByte). It is then followed by Width*Height sets of (red green blue) bytes. I have lots of filters source code for displaying the ".pic" files, as well as interesting objects that I run accross. Filters already exist to display images on Suns, to convert to PostScript, as well as X11 bitmaps for xwud. I advise you to get a package called the "Fuzzy Bitmap Package" (FBM), that has lots of useful programs for simple image processing, conversion, etc. The author is Michael Mauldin . The Utah Raster Toolkit is also a very good graphics package. Also good is Eric Haines' SPD source code, so you can generate your own fractal spheres, mountains, gears, etc. Also thanks to the numerous authors whose research into raytracing has seen implementation in this raytracer. Antonio Costa.